#ifndef KERNEL_H
	#include "kernel.h" //add 5-12
#endif

#ifndef MEMORY_H
	#include "memory.h"
#endif

#ifndef DISCO_H
	#include "disco.h"
#endif

#ifndef CONSOLE_H
	#include "console.h"
#endif

#ifndef TIMER_H
	#include "timer.h"
#endif

#ifndef INTERRUPT_H
	#include "interrupt.h"
#endif

#ifndef PROCESSOR_H
#define PROCESSOR_H


#define SIZE_INSTRUCTION 4


typedef struct struct_Processor
  {
 /* private Interrupt hint;
  private Memory mem;
  private Console con;
  private Timer tim;
  private Disco dis;*/

  int pc;
  int RI[SIZE_INSTRUCTION];
  Interrupt *i;
  Memory *m;
  Disco *d;
  Console *c;
  Timer *t;
  Kernel *k; //adicionado 5/12

} Processor;

Processor *processor_create(Interrupt *interrupt, Memory *memory, Disco *disco, Console *console, Timer *timer);//Interrupt i, Memory m, Console c, Timer t, Disco d);
void *run_processor(void *processor);

#endif
